package FirstExampe.pre;

import java.util.Enumeration;
import java.util.Vector;

public class Customer {
	private String _name;
	private Vector<Rental> _rentals = new Vector<>();

	public Customer(String _name) {
		super();
		this._name = _name;
	}

	public String getName() {
		return _name;
	}

	public void addRentals(Rental rental) {
		this._rentals.addElement(rental);
	}

	public String statment() {
		double totalAmont = 0;
		int frequentRenterPoint = 0;
		Enumeration<Rental> rentals = _rentals.elements();
		String result = "Rental Record for" + getName() + "\n";
		while (rentals.hasMoreElements()) {
			double thisAmount = 0;
			Rental each = rentals.nextElement();
			switch (each.getMovie().getPriceCode()) {
			case Movie.CHILDRENS:
				thisAmount += 2;
				if (each.getDaysRented() > 2) {
					thisAmount += (each.getDaysRented() - 2) * 1.5;
				}
				break;
			case Movie.NEW_RELEASE:
				thisAmount += each.getDaysRented() * 3;
				break;
			case Movie.REGULAR:
				thisAmount += 1.5;
				if (each.getDaysRented() > 3) {
					thisAmount += (each.getDaysRented() - 3) * 1.5;
				}
				break;
			}
			frequentRenterPoint++;
			if (each.getMovie().getPriceCode() == Movie.NEW_RELEASE && each.getDaysRented() > 1) {
				frequentRenterPoint++;
			}
			result += "\t" + each.getMovie().getTitle() + "\t" + String.valueOf(thisAmount) + "\n";
			totalAmont += thisAmount;
		}
		result += "Amount owed is " + String.valueOf(totalAmont) + "\n";
		result += "You earned " + String.valueOf(frequentRenterPoint) + " frequent renter points";
		return result;
	}
}
